/*! fancyBox v2.1.5 fancyapps.com | fancyapps.com/fancybox/#license */
(function (s, H, f, w) {
  var K = f('html'),
  q = f(s),
  p = f(H),
  b = f.fancybox = function () {
    b.open.apply(this, arguments)
  },
  J = navigator.userAgent.match(/msie/i),
  C = null,
  t = H.createTouch !== w,
  u = function (a) {
    return a && a.hasOwnProperty && a instanceof f
  },
  r = function (a) {
    return a && 'string' === f.type(a)
  },
  F = function (a) {
    return r(a) && 0 < a.indexOf('%')
  },
  m = function (a, d) {
    var e = parseInt(a, 10) || 0;
    d && F(a) && (e *= b.getViewport() [d] / 100);
    return Math.ceil(e)
  },
  x = function (a, b) {
    return m(a, b) + 'px'
  };
  f.extend(b, {
    version: '2.1.5',
    defaults: {
      padding: 15,
      margin: 20,
      width: 800,
      height: 600,
      minWidth: 100,
      minHeight: 100,
      maxWidth: 9999,
      maxHeight: 9999,
      pixelRatio: 1,
      autoSize: !0,
      autoHeight: !1,
      autoWidth: !1,
      autoResize: !0,
      autoCenter: !t,
      fitToView: !0,
      aspectRatio: !1,
      topRatio: 0.5,
      leftRatio: 0.5,
      scrolling: 'auto',
      wrapCSS: '',
      arrows: !0,
      closeBtn: !0,
      closeClick: !1,
      nextClick: !1,
      mouseWheel: !0,
      autoPlay: !1,
      playSpeed: 3000,
      preload: 3,
      modal: !1,
      loop: !0,
      ajax: {
        dataType: 'html',
        headers: {
          'X-fancyBox': !0
        }
      },
      iframe: {
        scrolling: 'auto',
        preload: !0
      },
      swf: {
        wmode: 'transparent',
        allowfullscreen: 'true',
        allowscriptaccess: 'always'
      },
      keys: {
        next: {
          13: 'left',
          34: 'up',
          39: 'left',
          40: 'up'
        },
        prev: {
          8: 'right',
          33: 'down',
          37: 'right',
          38: 'down'
        },
        close: [
          27
        ],
        play: [
          32
        ],
        toggle: [
          70
        ]
      },
      direction: {
        next: 'left',
        prev: 'right'
      },
      scrollOutside: !0,
      index: 0,
      type: null,
      href: null,
      content: null,
      title: null,
      tpl: {
        wrap: '<div class="fancybox-wrap" tabIndex="-1"><div class="fancybox-skin"><div class="fancybox-outer"><div class="fancybox-inner"></div></div></div></div>',
        image: '<img class="fancybox-image" src="{href}" alt="" />',
        iframe: '<iframe id="fancybox-frame{rnd}" name="fancybox-frame{rnd}" class="fancybox-iframe" frameborder="0" vspace="0" hspace="0" webkitAllowFullScreen mozallowfullscreen allowFullScreen' + (J ? ' allowtransparency="true"' : '') + '></iframe>',
        error: '<p class="fancybox-error">The requested content cannot be loaded.<br/>Please try again later.</p>',
        closeBtn: '<a title="Close" class="fancybox-item fancybox-close" href="javascript:;"></a>',
        next: '<a title="Next" class="fancybox-nav fancybox-next" href="javascript:;"><span></span></a>',
        prev: '<a title="Previous" class="fancybox-nav fancybox-prev" href="javascript:;"><span></span></a>'
      },
      openEffect: 'fade',
      openSpeed: 250,
      openEasing: 'swing',
      openOpacity: !0,
      openMethod: 'zoomIn',
      closeEffect: 'fade',
      closeSpeed: 250,
      closeEasing: 'swing',
      closeOpacity: !0,
      closeMethod: 'zoomOut',
      nextEffect: 'elastic',
      nextSpeed: 250,
      nextEasing: 'swing',
      nextMethod: 'changeIn',
      prevEffect: 'elastic',
      prevSpeed: 250,
      prevEasing: 'swing',
      prevMethod: 'changeOut',
      helpers: {
        overlay: !0,
        title: !0
      },
      onCancel: f.noop,
      beforeLoad: f.noop,
      afterLoad: f.noop,
      beforeShow: f.noop,
      afterShow: f.noop,
      beforeChange: f.noop,
      beforeClose: f.noop,
      afterClose: f.noop
    },
    group: {
    },
    opts: {
    },
    previous: null,
    coming: null,
    current: null,
    isActive: !1,
    isOpen: !1,
    isOpened: !1,
    wrap: null,
    skin: null,
    outer: null,
    inner: null,
    player: {
      timer: null,
      isActive: !1
    },
    ajaxLoad: null,
    imgPreload: null,
    transitions: {
    },
    helpers: {
    },
    open: function (a, d) {
      if (a && (f.isPlainObject(d) || (d = {
      }), !1 !== b.close(!0))) return f.isArray(a) || (a = u(a) ? f(a).get()  : [
        a
      ]),
      f.each(a, function (e, c) {
        var l = {
        },
        g,
        h,
        k,
        n,
        m;
        'object' === f.type(c) && (c.nodeType && (c = f(c)), u(c) ? (l = {
          href: c.data('fancybox-href') || c.attr('href'),
          title: f('<div/>').text(c.data('fancybox-title') || c.attr('title')).html(),
          isDom: !0,
          element: c
        }, f.metadata && f.extend(!0, l, c.metadata()))  : l = c);
        g = d.href || l.href || (r(c) ? c : null);
        h = d.title !== w ? d.title : l.title || '';
        n = (k = d.content || l.content) ? 'html' : d.type || l.type;
        !n && l.isDom && (n = c.data('fancybox-type'), n || (n = (n = c.prop('class').match(/fancybox\.(\w+)/)) ? n[1] : null));
        r(g) && (n || (b.isImage(g) ? n = 'image' : b.isSWF(g) ? n = 'swf' : '#' === g.charAt(0) ? n = 'inline' : r(c) && (n = 'html', k = c)), 'ajax' === n && (m = g.split(/\s+/, 2), g = m.shift(), m = m.shift()));
        k || ('inline' === n ? g ? k = f(r(g) ? g.replace(/.*(?=#[^\s]+$)/, '')  : g)  : l.isDom && (k = c)  :
        'html' === n ? k = g : n || g || !l.isDom || (n = 'inline', k = c));
        f.extend(l, {
          href: g,
          type: n,
          content: k,
          title: h,
          selector: m
        });
        a[e] = l
      }),
      b.opts = f.extend(!0, {
      }, b.defaults, d),
      d.keys !== w && (b.opts.keys = d.keys ? f.extend({
      }, b.defaults.keys, d.keys)  : !1),
      b.group = a,
      b._start(b.opts.index)
    },
    cancel: function () {
      var a = b.coming;
      a && !1 === b.trigger('onCancel') || (b.hideLoading(), a && (b.ajaxLoad && b.ajaxLoad.abort(), b.ajaxLoad = null, b.imgPreload && (b.imgPreload.onload = b.imgPreload.onerror = null), a.wrap && a.wrap.stop(!0, !0).trigger('onReset').remove(), b.coming = null, b.current || b._afterZoomOut(a)))
    },
    close: function (a) {
      b.cancel();
      !1 !== b.trigger('beforeClose') && (b.unbindEvents(), b.isActive && (b.isOpen && !0 !== a ? (b.isOpen = b.isOpened = !1, b.isClosing = !0, f('.fancybox-item, .fancybox-nav').remove(), b.wrap.stop(!0, !0).removeClass('fancybox-opened'), b.transitions[b.current.closeMethod]())  : (f('.fancybox-wrap').stop(!0).trigger('onReset').remove(), b._afterZoomOut())))
    },
    play: function (a) {
      var d = function () {
        clearTimeout(b.player.timer)
      },
      e = function () {
        d();
        b.current && b.player.isActive && (b.player.timer = setTimeout(b.next, b.current.playSpeed))
      },
      c = function () {
        d();
        p.unbind('.player');
        b.player.isActive = !1;
        b.trigger('onPlayEnd')
      };
      !0 === a || !b.player.isActive && !1 !== a ? b.current && (b.current.loop || b.current.index < b.group.length - 1) && (b.player.isActive = !0, p.bind({
        'onCancel.player beforeClose.player': c,
        'onUpdate.player': e,
        'beforeLoad.player': d
      }), e(), b.trigger('onPlayStart'))  : c()
    },
    next: function (a) {
      var d = b.current;
      d && (r(a) || (a = d.direction.next), b.jumpto(d.index + 1, a, 'next'))
    },
    prev: function (a) {
      var d =
      b.current;
      d && (r(a) || (a = d.direction.prev), b.jumpto(d.index - 1, a, 'prev'))
    },
    jumpto: function (a, d, e) {
      var c = b.current;
      c && (a = m(a), b.direction = d || c.direction[a >= c.index ? 'next' : 'prev'], b.router = e || 'jumpto', c.loop && (0 > a && (a = c.group.length + a % c.group.length), a %= c.group.length), c.group[a] !== w && (b.cancel(), b._start(a)))
    },
    reposition: function (a, d) {
      var e = b.current,
      c = e ? e.wrap : null,
      l;
      c && (l = b._getPosition(d), a && 'scroll' === a.type ? (delete l.position, c.stop(!0, !0).animate(l, 200))  : (c.css(l), e.pos = f.extend({
      }, e.dim, l)))
    },
    update: function (a) {
      var d = a && a.originalEvent && a.originalEvent.type,
      e = !d || 'orientationchange' === d;
      e && (clearTimeout(C), C = null);
      b.isOpen && !C && (C = setTimeout(function () {
        var c = b.current;
        c && !b.isClosing && (b.wrap.removeClass('fancybox-tmp'), (e || 'load' === d || 'resize' === d && c.autoResize) && b._setDimension(), 'scroll' === d && c.canShrink || b.reposition(a), b.trigger('onUpdate'), C = null)
      }, e && !t ? 0 : 300))
    },
    toggle: function (a) {
      b.isOpen && (b.current.fitToView = 'boolean' === f.type(a) ? a : !b.current.fitToView, t && (b.wrap.removeAttr('style').addClass('fancybox-tmp'), b.trigger('onUpdate')), b.update())
    },
    hideLoading: function () {
      p.unbind('.loading');
      f('#fancybox-loading').remove()
    },
    showLoading: function () {
      var a,
      d;
      b.hideLoading();
      a = f('<div id="fancybox-loading"><div></div></div>').click(b.cancel).appendTo('body');
      p.bind('keydown.loading', function (a) {
        27 === (a.which || a.keyCode) && (a.preventDefault(), b.cancel())
      });
      b.defaults.fixed || (d = b.getViewport(), a.css({
        position: 'absolute',
        top: 0.5 * d.h + d.y,
        left: 0.5 * d.w + d.x
      }));
      b.trigger('onLoading')
    },
    getViewport: function () {
      var a = b.current &&
      b.current.locked || !1,
      d = {
        x: q.scrollLeft(),
        y: q.scrollTop()
      };
      a && a.length ? (d.w = a[0].clientWidth, d.h = a[0].clientHeight)  : (d.w = t && s.innerWidth ? s.innerWidth : q.width(), d.h = t && s.innerHeight ? s.innerHeight : q.height());
      return d
    },
    unbindEvents: function () {
      b.wrap && u(b.wrap) && b.wrap.unbind('.fb');
      p.unbind('.fb');
      q.unbind('.fb')
    },
    bindEvents: function () {
      var a = b.current,
      d;
      a && (q.bind('orientationchange.fb' + (t ? '' : ' resize.fb') + (a.autoCenter && !a.locked ? ' scroll.fb' : ''), b.update), (d = a.keys) && p.bind('keydown.fb', function (e) {
        var c =
        e.which || e.keyCode,
        l = e.target || e.srcElement;
        if (27 === c && b.coming) return !1;
        e.ctrlKey || e.altKey || e.shiftKey || e.metaKey || l && (l.type || f(l).is('[contenteditable]')) || f.each(d, function (d, l) {
          if (1 < a.group.length && l[c] !== w) return b[d](l[c]),
          e.preventDefault(),
          !1;
          if ( - 1 < f.inArray(c, l)) return b[d](),
          e.preventDefault(),
          !1
        })
      }), f.fn.mousewheel && a.mouseWheel && b.wrap.bind('mousewheel.fb', function (d, c, l, g) {
        for (var h = f(d.target || null), k = !1; h.length && !(k || h.is('.fancybox-skin') || h.is('.fancybox-wrap')); ) k = h[0] && !(h[0].style.overflow &&
        'hidden' === h[0].style.overflow) && (h[0].clientWidth && h[0].scrollWidth > h[0].clientWidth || h[0].clientHeight && h[0].scrollHeight > h[0].clientHeight),
        h = f(h).parent();
        0 !== c && !k && 1 < b.group.length && !a.canShrink && (0 < g || 0 < l ? b.prev(0 < g ? 'down' : 'left')  : (0 > g || 0 > l) && b.next(0 > g ? 'up' : 'right'), d.preventDefault())
      }))
    },
    trigger: function (a, d) {
      var e,
      c = d || b.coming || b.current;
      if (c) {
        f.isFunction(c[a]) && (e = c[a].apply(c, Array.prototype.slice.call(arguments, 1)));
        if (!1 === e) return !1;
        c.helpers && f.each(c.helpers, function (d, e) {
          if (e &&
          b.helpers[d] && f.isFunction(b.helpers[d][a])) b.helpers[d][a](f.extend(!0, {
          }, b.helpers[d].defaults, e), c)
        })
      }
      p.trigger(a)
    },
    isImage: function (a) {
   //   return r(a) && a.match(/(^data:image\/.*,)|(\.(jp(e|g|eg)|gif|png|bmp|webp|svg)((\?|#).*)?$)/i)
    	return true;
    },
    isSWF: function (a) {
      return r(a) && a.match(/\.(swf)((\?|#).*)?$/i)
    },
    _start: function (a) {
      var d = {
      },
      e,
      c;
      a = m(a);
      e = b.group[a] || null;
      if (!e) return !1;
      d = f.extend(!0, {
      }, b.opts, e);
      e = d.margin;
      c = d.padding;
      'number' === f.type(e) && (d.margin = [
        e,
        e,
        e,
        e
      ]);
      'number' === f.type(c) && (d.padding = [
        c,
        c,
        c,
        c
      ]);
      d.modal && f.extend(!0, d, {
        closeBtn: !1,
        closeClick: !1,
        nextClick: !1,
        arrows: !1,
        mouseWheel: !1,
        keys: null,
        helpers: {
          overlay: {
            closeClick: !1
          }
        }
      });
      d.autoSize && (d.autoWidth = d.autoHeight = !0);
      'auto' === d.width && (d.autoWidth = !0);
      'auto' === d.height && (d.autoHeight = !0);
      d.group = b.group;
      d.index = a;
      b.coming = d;
      if (!1 === b.trigger('beforeLoad')) b.coming = null;
       else {
        c = d.type;
        e = d.href;
        if (!c) return b.coming = null,
        b.current && b.router && 'jumpto' !== b.router ? (b.current.index = a, b[b.router](b.direction))  : !1;
        b.isActive = !0;
        if ('image' ===
        c || 'swf' === c) d.autoHeight = d.autoWidth = !1,
        d.scrolling = 'visible';
        'image' === c && (d.aspectRatio = !0);
        'iframe' === c && t && (d.scrolling = 'scroll');
        d.wrap = f(d.tpl.wrap).addClass('fancybox-' + (t ? 'mobile' : 'desktop') + ' fancybox-type-' + c + ' fancybox-tmp ' + d.wrapCSS).appendTo(d.parent || 'body');
        f.extend(d, {
          skin: f('.fancybox-skin', d.wrap),
          outer: f('.fancybox-outer', d.wrap),
          inner: f('.fancybox-inner', d.wrap)
        });
        f.each(['Top',
        'Right',
        'Bottom',
        'Left'], function (a, b) {
          d.skin.css('padding' + b, x(d.padding[a]))
        });
        b.trigger('onReady');
        if ('inline' === c || 'html' === c) {
          if (!d.content || !d.content.length) return b._error('content')
        } else if (!e) return b._error('href');
        'image' === c ? b._loadImage()  : 'ajax' === c ? b._loadAjax()  : 'iframe' === c ? b._loadIframe()  : b._afterLoad()
      }
    },
    _error: function (a) {
      f.extend(b.coming, {
        type: 'html',
        autoWidth: !0,
        autoHeight: !0,
        minWidth: 0,
        minHeight: 0,
        scrolling: 'no',
        hasError: a,
        content: b.coming.tpl.error
      });
      b._afterLoad()
    },
    _loadImage: function () {
      var a = b.imgPreload = new Image;
      a.onload = function () {
        this.onload = this.onerror = null;
        b.coming.width =
        this.width / b.opts.pixelRatio;
        b.coming.height = this.height / b.opts.pixelRatio;
        b._afterLoad()
      };
      a.onerror = function () {
        this.onload = this.onerror = null;
        b._error('image')
      };
      a.src = b.coming.href;
      !0 !== a.complete && b.showLoading()
    },
    _loadAjax: function () {
      var a = b.coming;
      b.showLoading();
      b.ajaxLoad = f.ajax(f.extend({
      }, a.ajax, {
        url: a.href,
        error: function (a, e) {
          b.coming && 'abort' !== e ? b._error('ajax', a)  : b.hideLoading()
        },
        success: function (d, e) {
          'success' === e && (a.content = d, b._afterLoad())
        }
      }))
    },
    _loadIframe: function () {
      var a = b.coming,
      d = f(a.tpl.iframe.replace(/\{rnd\}/g, (new Date).getTime())).attr('scrolling', t ? 'auto' : a.iframe.scrolling).attr('src', a.href);
      f(a.wrap).bind('onReset', function () {
        try {
          f(this).find('iframe').hide().attr('src', '//about:blank').end().empty()
        } catch (a) {
        }
      });
      a.iframe.preload && (b.showLoading(), d.one('load', function () {
        f(this).data('ready', 1);
        t || f(this).bind('load.fb', b.update);
        f(this).parents('.fancybox-wrap').width('100%').removeClass('fancybox-tmp').show();
        b._afterLoad()
      }));
      a.content = d.appendTo(a.inner);
      a.iframe.preload ||
      b._afterLoad()
    },
    _preloadImages: function () {
      var a = b.group,
      d = b.current,
      e = a.length,
      c = d.preload ? Math.min(d.preload, e - 1)  : 0,
      f,
      g;
      for (g = 1; g <= c; g += 1) f = a[(d.index + g) % e],
      'image' === f.type && f.href && ((new Image).src = f.href)
    },
    _afterLoad: function () {
      var a = b.coming,
      d = b.current,
      e,
      c,
      l,
      g,
      h;
      b.hideLoading();
      if (a && !1 !== b.isActive) if (!1 === b.trigger('afterLoad', a, d)) a.wrap.stop(!0).trigger('onReset').remove(),
      b.coming = null;
       else {
        d && (b.trigger('beforeChange', d), d.wrap.stop(!0).removeClass('fancybox-opened').find('.fancybox-item, .fancybox-nav').remove());
        b.unbindEvents();
        e = a.content;
        c = a.type;
        l = a.scrolling;
        f.extend(b, {
          wrap: a.wrap,
          skin: a.skin,
          outer: a.outer,
          inner: a.inner,
          current: a,
          previous: d
        });
        g = a.href;
        switch (c) {
          case 'inline':
          case 'ajax':
          case 'html':
            a.selector ? e = f('<div>').html(e).find(a.selector)  : u(e) && (e.data('fancybox-placeholder') || e.data('fancybox-placeholder', f('<div class="fancybox-placeholder"></div>').insertAfter(e).hide()), e = e.show().detach(), a.wrap.bind('onReset', function () {
              f(this).find(e).length && e.hide().replaceAll(e.data('fancybox-placeholder')).data('fancybox-placeholder', !1)
            }));
            break;
          case 'image':
            e = a.tpl.image.replace(/\{href\}/g, g);
            break;
          case 'swf':
            e = '<object id="fancybox-swf" classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" width="100%" height="100%"><param name="movie" value="' + g + '"></param>',
            h = '',
            f.each(a.swf, function (a, b) {
              e += '<param name="' + a + '" value="' + b + '"></param>';
              h += ' ' + a + '="' + b + '"'
            }),
            e += '<embed src="' + g + '" type="application/x-shockwave-flash" width="100%" height="100%"' + h + '></embed></object>'
        }
        u(e) && e.parent().is(a.inner) || a.inner.append(e);
        b.trigger('beforeShow');
        a.inner.css('overflow', 'yes' === l ? 'scroll' : 'no' === l ? 'hidden' : l);
        b._setDimension();
        b.reposition();
        b.isOpen = !1;
        b.coming = null;
        b.bindEvents();
        if (!b.isOpened) f('.fancybox-wrap').not(a.wrap).stop(!0).trigger('onReset').remove();
         else if (d.prevMethod) b.transitions[d.prevMethod]();
        b.transitions[b.isOpened ? a.nextMethod : a.openMethod]();
        b._preloadImages()
      }
    },
    _setDimension: function () {
      var a = b.getViewport(),
      d = 0,
      e = !1,
      c = !1,
      e = b.wrap,
      l = b.skin,
      g = b.inner,
      h = b.current,
      c = h.width,
      k = h.height,
      n = h.minWidth,
      v = h.minHeight,
      p = h.maxWidth,
      q = h.maxHeight,
      t = h.scrolling,
      r = h.scrollOutside ? h.scrollbarWidth : 0,
      y = h.margin,
      z = m(y[1] + y[3]),
      s = m(y[0] + y[2]),
      w,
      A,
      u,
      D,
      B,
      G,
      C,
      E,
      I;
      e.add(l).add(g).width('auto').height('auto').removeClass('fancybox-tmp');
      y = m(l.outerWidth(!0) - l.width());
      w = m(l.outerHeight(!0) - l.height());
      A = z + y;
      u = s + w;
      D = F(c) ? (a.w - A) * m(c) / 100 : c;
      B = F(k) ? (a.h - u) * m(k) / 100 : k;
      if ('iframe' === h.type) {
        if (I = h.content, h.autoHeight && 1 === I.data('ready')) try {
          I[0].contentWindow.document.location && (g.width(D).height(9999), G = I.contents().find('body'), r && G.css('overflow-x', 'hidden'), B = G.outerHeight(!0))
        } catch (H) {
        }
      } else if (h.autoWidth || h.autoHeight) g.addClass('fancybox-tmp'),
      h.autoWidth || g.width(D),
      h.autoHeight || g.height(B),
      h.autoWidth && (D = g.width()),
      h.autoHeight && (B = g.height()),
      g.removeClass('fancybox-tmp');
      c = m(D);
      k = m(B);
      E = D / B;
      n = m(F(n) ? m(n, 'w') - A : n);
      p = m(F(p) ? m(p, 'w') - A : p);
      v = m(F(v) ? m(v, 'h') - u : v);
      q = m(F(q) ? m(q, 'h') - u : q);
      G = p;
      C = q;
      h.fitToView && (p = Math.min(a.w - A, p), q = Math.min(a.h - u, q));
      A = a.w - z;
      s = a.h - s;
      h.aspectRatio ? (c > p && (c = p, k = m(c / E)), k > q && (k = q, c = m(k * E)), c < n && (c = n, k = m(c /
      E)), k < v && (k = v, c = m(k * E)))  : (c = Math.max(n, Math.min(c, p)), h.autoHeight && 'iframe' !== h.type && (g.width(c), k = g.height()), k = Math.max(v, Math.min(k, q)));
      if (h.fitToView) if (g.width(c).height(k), e.width(c + y), a = e.width(), z = e.height(), h.aspectRatio) for (; (a > A || z > s) && c > n && k > v && !(19 < d++); ) k = Math.max(v, Math.min(q, k - 10)),
      c = m(k * E),
      c < n && (c = n, k = m(c / E)),
      c > p && (c = p, k = m(c / E)),
      g.width(c).height(k),
      e.width(c + y),
      a = e.width(),
      z = e.height();
       else c = Math.max(n, Math.min(c, c - (a - A))),
      k = Math.max(v, Math.min(k, k - (z - s)));
      r && 'auto' === t && k < B &&
      c + y + r < A && (c += r);
      g.width(c).height(k);
      e.width(c + y);
      a = e.width();
      z = e.height();
      e = (a > A || z > s) && c > n && k > v;
      c = h.aspectRatio ? c < G && k < C && c < D && k < B : (c < G || k < C) && (c < D || k < B);
      f.extend(h, {
        dim: {
          width: x(a),
          height: x(z)
        },
        origWidth: D,
        origHeight: B,
        canShrink: e,
        canExpand: c,
        wPadding: y,
        hPadding: w,
        wrapSpace: z - l.outerHeight(!0),
        skinSpace: l.height() - k
      });
      !I && h.autoHeight && k > v && k < q && !c && g.height('auto')
    },
    _getPosition: function (a) {
      var d = b.current,
      e = b.getViewport(),
      c = d.margin,
      f = b.wrap.width() + c[1] + c[3],
      g = b.wrap.height() + c[0] + c[2],
      c = {
        position: 'absolute',
        top: c[0],
        left: c[3]
      };
      d.autoCenter && d.fixed && !a && g <= e.h && f <= e.w ? c.position = 'fixed' : d.locked || (c.top += e.y, c.left += e.x);
      c.top = x(Math.max(c.top, c.top + (e.h - g) * d.topRatio));
      c.left = x(Math.max(c.left, c.left + (e.w - f) * d.leftRatio));
      return c
    },
    _afterZoomIn: function () {
      var a = b.current;
      a && ((b.isOpen = b.isOpened = !0, b.wrap.css('overflow', 'visible').addClass('fancybox-opened'), b.update(), (a.closeClick || a.nextClick && 1 < b.group.length) && b.inner.css('cursor', 'pointer').bind('click.fb', function (d) {
        f(d.target).is('a') || f(d.target).parent().is('a') || (d.preventDefault(), b[a.closeClick ? 'close' : 'next']())
      }), a.closeBtn && f(a.tpl.closeBtn).appendTo(b.skin).bind('click.fb', function (a) {
        a.preventDefault();
        b.close()
      }), a.arrows && 1 < b.group.length && ((a.loop || 0 < a.index) && f(a.tpl.prev).appendTo(b.outer).bind('click.fb', b.prev), (a.loop || a.index < b.group.length - 1) && f(a.tpl.next).appendTo(b.outer).bind('click.fb', b.next)), b.trigger('afterShow'), a.loop || a.index !== a.group.length - 1) ? b.opts.autoPlay && !b.player.isActive && (b.opts.autoPlay = !1, b.play(!0))  : b.play(!1))
    },
    _afterZoomOut: function (a) {
      a = a || b.current;
      f('.fancybox-wrap').trigger('onReset').remove();
      f.extend(b, {
        group: {
        },
        opts: {
        },
        router: !1,
        current: null,
        isActive: !1,
        isOpened: !1,
        isOpen: !1,
        isClosing: !1,
        wrap: null,
        skin: null,
        outer: null,
        inner: null
      });
      b.trigger('afterClose', a)
    }
  }); b.transitions = {
    getOrigPosition: function () {
      var a = b.current,
      d = a.element,
      e = a.orig,
      c = {
      },
      f = 50,
      g = 50,
      h = a.hPadding,
      k = a.wPadding,
      n = b.getViewport();
      !e && a.isDom && d.is(':visible') && (e = d.find('img:first'), e.length || (e = d));
      u(e) ? (c = e.offset(), e.is('img') && (f = e.outerWidth(), g = e.outerHeight()))  : (c.top = n.y + (n.h - g) * a.topRatio, c.left = n.x + (n.w - f) * a.leftRatio);
      if ('fixed' === b.wrap.css('position') || a.locked) c.top -= n.y,
      c.left -= n.x;
      return c = {
        top: x(c.top - h * a.topRatio),
        left: x(c.left - k * a.leftRatio),
        width: x(f + k),
        height: x(g + h)
      }
    },
    step: function (a, d) {
      var e,
      c,
      f = d.prop;
      c = b.current;
      var g = c.wrapSpace,
      h = c.skinSpace;
      if ('width' === f || 'height' === f) e = d.end === d.start ? 1 : (a - d.start) / (d.end - d.start),
      b.isClosing && (e = 1 - e),
      c = 'width' === f ? c.wPadding : c.hPadding,
      c = a - c,
      b.skin[f](m('width' ===
      f ? c : c - g * e)),
      b.inner[f](m('width' === f ? c : c - g * e - h * e))
    },
    zoomIn: function () {
      var a = b.current,
      d = a.pos,
      e = a.openEffect,
      c = 'elastic' === e,
      l = f.extend({
        opacity: 1
      }, d);
      delete l.position;
      c ? (d = this.getOrigPosition(), a.openOpacity && (d.opacity = 0.1))  : 'fade' === e && (d.opacity = 0.1);
      b.wrap.css(d).animate(l, {
        duration: 'none' === e ? 0 : a.openSpeed,
        easing: a.openEasing,
        step: c ? this.step : null,
        complete: b._afterZoomIn
      })
    },
    zoomOut: function () {
      var a = b.current,
      d = a.closeEffect,
      e = 'elastic' === d,
      c = {
        opacity: 0.1
      };
      e && (c = this.getOrigPosition(), a.closeOpacity && (c.opacity = 0.1));
      b.wrap.animate(c, {
        duration: 'none' === d ? 0 : a.closeSpeed,
        easing: a.closeEasing,
        step: e ? this.step : null,
        complete: b._afterZoomOut
      })
    },
    changeIn: function () {
      var a = b.current,
      d = a.nextEffect,
      e = a.pos,
      c = {
        opacity: 1
      },
      f = b.direction,
      g;
      e.opacity = 0.1;
      'elastic' === d && (g = 'down' === f || 'up' === f ? 'top' : 'left', 'down' === f || 'right' === f ? (e[g] = x(m(e[g]) - 200), c[g] = '+=200px')  : (e[g] = x(m(e[g]) + 200), c[g] = '-=200px'));
      'none' === d ? b._afterZoomIn()  : b.wrap.css(e).animate(c, {
        duration: a.nextSpeed,
        easing: a.nextEasing,
        complete: b._afterZoomIn
      })
    },
    changeOut: function () {
      var a = b.previous,
      d = a.prevEffect,
      e = {
        opacity: 0.1
      },
      c = b.direction;
      'elastic' === d && (e['down' === c || 'up' === c ? 'top' : 'left'] = ('up' === c || 'left' === c ? '-' : '+') + '=200px');
      a.wrap.animate(e, {
        duration: 'none' === d ? 0 : a.prevSpeed,
        easing: a.prevEasing,
        complete: function () {
          f(this).trigger('onReset').remove()
        }
      })
    }
  }; b.helpers.overlay = {
    defaults: {
      closeClick: !0,
      speedOut: 200,
      showEarly: !0,
      css: {
      },
      locked: !t,
      fixed: !0
    },
    overlay: null,
    fixed: !1,
    el: f('html'),
    create: function (a) {
      var d;
      a = f.extend({
      }, this.defaults, a);
      this.overlay &&
      this.close();
      d = b.coming ? b.coming.parent : a.parent;
      this.overlay = f('<div class="fancybox-overlay"></div>').appendTo(d && d.lenth ? d : 'body');
      this.fixed = !1;
      a.fixed && b.defaults.fixed && (this.overlay.addClass('fancybox-overlay-fixed'), this.fixed = !0)
    },
    open: function (a) {
      var d = this;
      a = f.extend({
      }, this.defaults, a);
      this.overlay ? this.overlay.unbind('.overlay').width('auto').height('auto')  : this.create(a);
      this.fixed || (q.bind('resize.overlay', f.proxy(this.update, this)), this.update());
      a.closeClick && this.overlay.bind('click.overlay', function (a) {
        if (f(a.target).hasClass('fancybox-overlay')) return b.isActive ? b.close()  : d.close(),
        !1
      });
      this.overlay.css(a.css).show()
    },
    close: function () {
      q.unbind('resize.overlay');
      this.el.hasClass('fancybox-lock') && (f('.fancybox-margin').removeClass('fancybox-margin'), this.el.removeClass('fancybox-lock'), q.scrollTop(this.scrollV).scrollLeft(this.scrollH));
      f('.fancybox-overlay').remove().hide();
      f.extend(this, {
        overlay: null,
        fixed: !1
      })
    },
    update: function () {
      var a = '100%',
      b;
      this.overlay.width(a).height('100%');
      J ? (b = Math.max(H.documentElement.offsetWidth, H.body.offsetWidth), p.width() > b && (a = p.width()))  : p.width() > q.width() && (a = p.width());
      this.overlay.width(a).height(p.height())
    },
    onReady: function (a, b) {
      var e = this.overlay;
      f('.fancybox-overlay').stop(!0, !0);
      e || this.create(a);
      a.locked && this.fixed && b.fixed && (b.locked = this.overlay.append(b.wrap), b.fixed = !1);
      !0 === a.showEarly && this.beforeShow.apply(this, arguments)
    },
    beforeShow: function (a, b) {
      b.locked && !this.el.hasClass('fancybox-lock') && (!1 !== this.fixPosition && f('*').filter(function () {
        return 'fixed' ===
        f(this).css('position') && !f(this).hasClass('fancybox-overlay') && !f(this).hasClass('fancybox-wrap')
      }).addClass('fancybox-margin'), this.el.addClass('fancybox-margin'), this.scrollV = q.scrollTop(), this.scrollH = q.scrollLeft(), this.el.addClass('fancybox-lock'), q.scrollTop(this.scrollV).scrollLeft(this.scrollH));
      this.open(a)
    },
    onUpdate: function () {
      this.fixed || this.update()
    },
    afterClose: function (a) {
      this.overlay && !b.coming && this.overlay.fadeOut(a.speedOut, f.proxy(this.close, this))
    }
  }; b.helpers.title = {
    defaults: {
      type: 'float',
      position: 'bottom'
    },
    beforeShow: function (a) {
      var d = b.current,
      e = d.title,
      c = a.type;
      f.isFunction(e) && (e = e.call(d.element, d));
      if (r(e) && '' !== f.trim(e)) {
        d = f('<div class="fancybox-title fancybox-title-' + c + '-wrap">' + e + '</div>');
        switch (c) {
          case 'inside':
            c = b.skin;
            break;
          case 'outside':
            c = b.wrap;
            break;
          case 'over':
            c = b.inner;
            break;
          default:
            c = b.skin,
            d.appendTo('body'),
            J && d.width(d.width()),
            d.wrapInner('<span class="child"></span>'),
            b.current.margin[2] += Math.abs(m(d.css('margin-bottom')))
        }
        d['top' === a.position ? 'prependTo' :
        'appendTo'](c)
      }
    }
  };
  f.fn.fancybox = function (a) {
    var d,
    e = f(this),
    c = this.selector || '',
    l = function (g) {
      var h = f(this).blur(),
      k = d,
      l,
      m;
      g.ctrlKey || g.altKey || g.shiftKey || g.metaKey || h.is('.fancybox-wrap') || (l = a.groupAttr || 'data-fancybox-group', m = h.attr(l), m || (l = 'rel', m = h.get(0) [l]), m && '' !== m && 'nofollow' !== m && (h = c.length ? f(c)  : e, h = h.filter('[' + l + '="' + m + '"]'), k = h.index(this)), a.index = k, !1 !== b.open(h, a) && g.preventDefault())
    };
    a = a || {
    };
    d = a.index || 0;
    c && !1 !== a.live ? p.undelegate(c, 'click.fb-start').delegate(c + ':not(\'.fancybox-item, .fancybox-nav\')', 'click.fb-start', l)  : e.unbind('click.fb-start').bind('click.fb-start', l);
    this.filter('[data-fancybox-start=1]').trigger('click');
    return this
  };
  p.ready(function () {
    var a,
    d;
    f.scrollbarWidth === w && (f.scrollbarWidth = function () {
      var a = f('<div style="width:50px;height:50px;overflow:auto"><div/></div>').appendTo('body'),
      b = a.children(),
      b = b.innerWidth() - b.height(99).innerWidth();
      a.remove();
      return b
    });
    f.support.fixedPosition === w && (f.support.fixedPosition = function () {
      var a = f('<div style="position:fixed;top:20px;"></div>').appendTo('body'),
      b = 20 === a[0].offsetTop || 15 === a[0].offsetTop;
      a.remove();
      return b
    }());
    f.extend(b.defaults, {
      scrollbarWidth: f.scrollbarWidth(),
      fixed: f.support.fixedPosition,
      parent: f('body')
    });
    a = f(s).width();
    K.addClass('fancybox-lock-test');
    d = f(s).width();
    K.removeClass('fancybox-lock-test');
    f('<style type=\'text/css\'>.fancybox-margin{margin-right:' + (d - a) + 'px;}</style>').appendTo('head')
  })
}) (window, document, jQuery);
